#include <iostream>

#include <qpoint.h>

#include <qwt_symbol.h>

#include "StartPointMarker.h"

using namespace std;

StartPointMarker::StartPointMarker(PlotModel *model) : QwtPlotMarker(), _model(model)
{}

void StartPointMarker::draw(QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const
{
	/// ladujemy wspolrzedne punktu startowego krzywej
	const double x = xMap.transform(xValue());
	const double y = yMap.transform(yValue());


//	_model->setGlobalPoints(vector<QPointF >());

	/// wprowadzamy do modelu polozenie punktu wzgledem calego okna aplikacji - konieczne do rysowania, zeby nie przeskalowywac !
	_model->setGlobalPoint(QPointF(x,y));

	/// uruchamiamy proces rysowania 
	drawAt(painter, canvasRect, QPointF(x,y));
}

void StartPointMarker::drawAt(QPainter *painter, const QRectF &rect, const QPointF &pos) const
{	
  QwtSymbol *s = new QwtSymbol();

  /// wywolujemy rysowanie odpowiedniego symbolu
  s->drawSymbol(painter,pos);
}
